import ajax from '@/uni_modules/u-ajax/js_sdk'
import {BASE_URL} from '@/env.js'
// 创建请求实例
const instance = ajax.create({
  // 默认配置
  baseURL:BASE_URL,
  timeout: 10000, // 请求超时时间
  header: {
		'Content-Type': 'application/json;charset=UTF-8',
		// 'project_token': config.projectToken, //项目token（可删除）
	}
})

// 添加请求拦截器
instance.interceptors.request.use(
  config => {
    // 在发送请求前做些什么
    console.log('发送请求前', config)
    const token = uni.getStorageSync('setUserData')
    if(token){
      instance.header['token'] = uni.getStorageSync('token');
    }
    // token && (config.header['Authorization'] = token)
    console.log(token,'token')
    uni.showLoading({
      title: '正在加载...',
      mask: true 
    })
    return config
  },
  error => {
    // 对请求错误做些什么
    console.log('发请求错误', error)
    return Promise.reject(error)
  }
)

// 添加响应拦截器
instance.interceptors.response.use(
  response => {
    if (response.data.code !== 200) {
      uni.showToast({
        title: response.data.msg
      })
      console.log('响应chenggong后', response.data)
      return Promise.reject(response.data)
      
    }
    uni.hideLoading()

  },
  error => {
    // 对响应错误做些什么
    uni.hideLoading()
    console.log('响应错误后', error)
    return Promise.reject(error)
  }
)

export const install = Vue => {
  // 如果您是像我下面这样挂载在 Vue 原型链上，则通过 this.$ajax 调用
  Vue.prototype.$ajax = instance
}

export default instance
